Data storage systems typically provide for the ability to create snapshots of data stored thereon based on some schedule, and persist them locally or back them up or archive them to remote data storage systems. When the snapshots are persisted locally, the storage used for data protection is shared with the storage used for production applications. When the snapshots are backed up or archived remotely, an exclusive protection space is created. In all these scenarios, the need to protect data for longer periods of time results in more storage consumed, and safeguards need to be put in place to ensure the storage systems do not run out of free storage space.